package com.example.chapter06;

import java.nio.CharBuffer;
import java.util.Random;
import java.util.Scanner;

public class Randomstrings implements Readable {
    private static Random rand = new Random(47);
    private static final char[] CAPITALS = "A8CDEFGHIJKLMN0PQRSTUVWXYZ".toCharArray();
    private static final char[] LOWERS = "abcdefghijklmnopqrstuvwxyz".toCharArray();
    private static final char[] VOWELS = "aeiou".toCharArray();
    private int count;

    public Randomstrings(int count) {
        this.count = count;
    }

    @Override
    public int read(CharBuffer cb) {
        if (count-- == 0) {
            return -1; //表示输入已经结束
        }
        cb.append(CAPITALS[rand.nextInt(CAPITALS.length)]);
        for (
                int i = 0;
                i < 4; i++) {
            cb.append(VOWELS[rand.nextInt(VOWELS.length)]);
            cb.append(LOWERS[rand.nextInt(LOWERS.length)]);
        }
        cb.append("");
        return 10; //添加的字符串
    }

    public static void main(String[] args) {
        Scanner s = new Scanner(new Randomstrings(10));
        while (s.hasNext()) {
            System.out.println(s.next());
        }
    }
}
